#define _CRT_SECURE_NO_WARNINGS 1

//#include"Stack.h"
//#include"queue.h"

//#include<iostream>
//#include<stack>
//
//using namespace std;
//
//int main()
//{
//	stack<int> s;
//	s.push(1);
//	s.push(2);
//	s.push(3);
//	s.push(4);
//
//	while (!s.empty())
//	{
//		cout << s.top() << " ";
//		s.pop();
//	}
//
//	return 0;
//}


//int main()
//{
//	queue<int> q;
//	q.push(1);
//	q.push(2);
//	q.push(3);
//	q.push(4);
//
//	while (!q.empty())
//	{
//		cout << q.front() << " ";
//		q.pop();
//	}
//
//	return 0;
//}


//int main()
//{
//	//zy::stack<int,vector<int>> s;
//	zy::stack<int, list<int>> s;
//	s.push(1);
//	s.push(2);
//	s.push(3);
//	s.push(4);
//
//	while (!s.empty())
//	{
//		cout << s.top() << " ";
//		s.pop();
//	}
//
//	return 0;
//}


//int main()
//{
//	zy::queue<int> q;
//	q.push(1);
//	q.push(2);
//	q.push(3);
//	q.push(4);
//
//	while (!q.empty())
//	{
//		cout << q.front() << " ";
//		q.pop();
//	}
//
//	return 0;
//}




#include<iostream>
#include<vector>
#include<list>
#include<stdlib.h>
#include<time.h>
#include<algorithm>
#include<deque>

using namespace std;

int main()
{
	srand(time(0));
	deque<int> d1;
	deque<int> d2;
	for (int i = 0; i < 1000000; i++)
	{
		int x = rand() + i;
		d1.push_back(x);
		d2.push_back(x);
	}

	int begin1 = clock();
	vector<int> v(d1.begin(), d1.end());
	sort(v.begin(), v.end());
	d1.assign(v.begin(), v.end());
	int end1 = clock();

	int begin2 = clock();
	sort(d2.begin(), d2.end());
	int end2 = clock();

	cout << end1 - begin1 << endl;
	cout << end2 - begin2 << endl;
	return 0;
}








